package gov.pbc.nn.kjgl.entity;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;

import org.hibernate.annotations.Index;

import com.bstek.dorado.annotation.PropertyDef;

import gov.pbc.nn.core.entity.BaseEntity;


/**
 * 问题管理 
 * @author caoguojin
 *
 */

@Entity
@Table(name="T_PROJECT_PROBLEM")
public class ProjectProblem extends BaseEntity{

	private static final long serialVersionUID = 1L;
	
	@Column(name = "PROJECT_ID_", length = 60)
	@PropertyDef(label = "工程ID", description = "工程ID:工程ID")
	@Index(name="INDEX_PROBLEM_PROJECT_ID_")
	private String projectId;
	
	@Column(name = "PROBLEM_NAME_",length=60)
	@PropertyDef(label = "问题名称", description = "问题名称:问题名称")
	private String problemName;
	
	@Column(name = "PROBLEM_DESCRIBE_",length=1000)
	@PropertyDef(label = "问题描述", description = "问题描述:问题描述")
	private String problemDescribe;
	
	@Column(name = "PROPOSER_",length=60)
	@PropertyDef(label = "提出人id", description = "提出人id:提出人id")
	@Index(name="INDEX_PROPOSER_")
	private String proposer;
	
	@Column(name = "PROPOSER_NAME_",length=60)
	@PropertyDef(label = "提出人", description = "提出人:提出人")
	private String proposerName;
	
	@Column(name = "BEGIN_TIME")
	@PropertyDef(label = "提出时间", description = "提出时间:提出时间")
	private Date beginTime;
	
	@Column(name = "MANAGER_",length=60)
	@PropertyDef(label = "指定处理人", description = "指定处理人:指定处理人")
	private String manager;
	
	@Column(name = "PERSON_", length = 120)
	@PropertyDef(label = "指定负责人Id", description = "指定负责人Id")
	@Index(name="INDEX_PERSON_")
	private String person;
	
	@Column(name="END_TIME_")
	@PropertyDef(label="截止时间",description = "截止时间:截止时间")
	private Date endTime;
	
	@Column(name="FINISH_TIME_")
	@PropertyDef(label="实际解决时间",description="实际解决时间:实际解决时间")
	private Date finishTime;
	
	@Column(name="PROGRESS_")
	@PropertyDef(label="进度完成百分比",description="进度完成百分比:进度完成百分比")
	private double progress;

	@Column(name="ATTACHMENT_")
	@PropertyDef(label="附件",description="附件:附件")
	private String attachment;
	
	@Column(name="PROJECT_STATE_")
	@PropertyDef(label="项目状态",description="项目状态:项目状态")
	private boolean projectState;
	
	
	
	public String getProposerName() {
		return proposerName;
	}

	public void setProposerName(String proposerName) {
		this.proposerName = proposerName;
	}

	public String getPerson() {
		return person;
	}

	public void setPerson(String person) {
		this.person = person;
	}

	public boolean isProjectState() {
		return projectState;
	}

	public void setProjectState(boolean projectState) {
		this.projectState = projectState;
	}

	public double getProgress() {
		return progress;
	}

	public void setProgress(double progress) {
		this.progress = progress;
	}

	public String getAttachment() {
		return attachment;
	}

	public void setAttachment(String attachment) {
		this.attachment = attachment;
	}

	public String getProjectId() {
		return projectId;
	}

	public void setProjectId(String projectId) {
		this.projectId = projectId;
	}

	public String getProblemName() {
		return problemName;
	}

	public void setProblemName(String problemName) {
		this.problemName = problemName;
	}

	public String getProblemDescribe() {
		return problemDescribe;
	}

	public void setProblemDescribe(String problemDescribe) {
		this.problemDescribe = problemDescribe;
	}

	public String getProposer() {
		return proposer;
	}

	public void setProposer(String proposer) {
		this.proposer = proposer;
	}

	public Date getBeginTime() {
		return beginTime;
	}

	public void setBeginTime(Date beginTime) {
		this.beginTime = beginTime;
	}


	public Date getEndTime() {
		return endTime;
	}

	public String getManager() {
		return manager;
	}

	public void setManager(String manager) {
		this.manager = manager;
	}

	public void setEndTime(Date endTime) {
		this.endTime = endTime;
	}

	public Date getFinishTime() {
		return finishTime;
	}

	public void setFinishTime(Date finishTime) {
		this.finishTime = finishTime;
	}

}
